iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0
IT管理

用UNRAID打造AIO全生態系列 第 27

Docker Compose:內置指令的用法

  • 分享至 

  • xImage
  •  

OK,這篇也算是Compose程式教學最後一篇了
我們來學習最後一個Compose觀念
並啟動最終的完整Docker Compose吧!


上一篇有談到一個可以控制"Container啟動順序"的屬性
但其實Docker Compose屬性是百百款喔
只要想的到,沒有做不到
幾乎就是Compose的代名詞了/images/emoticon/emoticon37.gif

意思就是,不可能透過教學教完所有Compose屬性
所以下面就提供官方文件讓大家自行發揮囉!
進到官網後,請點擊側欄來瀏覽文件

Container內置指令

但有些蠻重要的屬性還是得透過文章來講述
所以這篇我們要來談到的是"內置指令"
那顧名思義就是給Container去執行的指令
主要可實現自動化的功能

1.command屬性

第一個直接翻譯剛好是內置指令/images/emoticon/emoticon39.gif
其功能就像有個隱形人在shell介面打入指令一樣

舉例來說
有個Browser的APP每次都要手動輸入以下指令才能打開分頁

google-chrome --start-maximized

有了Compose之後,只要在Container屬性下插入以下段落的指令
這樣每次啟動後就能看到入口分頁拉!

command: google-chrome --start-maximized

小提示
command變量可以為任何形式 (c++,java,python,bash,script......)
只要可以插入並正確執行指定Container的command,ALL OF WORK!

2.healthcheck屬性

上一篇有談到
Compose裡的depends_on屬性雖然可以決定執行先後順序
但卻無法確保某個Container的意外中斷 (看似有在執行,實際上卻無回應)
這樣我們就要時刻檢查所有Container的健康狀況了
必要時直接中止整個APP

# 程式插入點,每個Container
healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost"]
  interval: 2m
  timeout: 15s
  retries: 3

上一篇
Docker Compose:相依性管理
下一篇
Docker Compose格式轉換及延伸總結
系列文
用UNRAID打造AIO全生態31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言